package com.ruoyi.ldzlsc.domain;
import com.ruoyi.common.core.web.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.ruoyi.common.core.utils.MultiDateFormatDeserializer;
import lombok.Data;
import lombok.ToString;
import java.util.Date;
import java.util.List;

/**
 * 销售订单对象 sc_sales_order
 *
 * @author ldzl
 * @date 2025-05-27
 */
@Data
@ToString(callSuper = true)
public class ScSalesOrder extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** 主键ID */
    private Long salesOrderId;

    /** 订单编号 */
    private String orderCode;

    /** 客户ID */
    private Long customerId;

    /** 订单日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonDeserialize(using = MultiDateFormatDeserializer.class)
    private Date orderDate;

    /** 交付日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonDeserialize(using = MultiDateFormatDeserializer.class)
    private Date deliveryDate;

    /** 订单状态 */
    private String status;

    /** 备注 */
    private String remark;

    /** 逻辑删除标记 */
    private String isDelete;
    
    /** 客户名称（非数据库字段） */
    private String customerName;
    
    /** 客户编码（非数据库字段） */
    private String customerCode;
    
    /** 客户类型（非数据库字段） */
    private String customerType;
    
    /** 联系人（非数据库字段） */
    private String customerPerson;
    
    /** 联系电话（非数据库字段） */
    private String customerPhone;

    /** 销售订单明细信息 */
    private List<ScSalesOrderDetail> details;
} 